﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using StyleMVVM.Data;
using StyleMVVM.Utilities;

namespace SimpleWeather.BusinessEntities
{
	public class CurrentWeatherInfo : ComplexObject 
	{
		private bool successField;
		private string responseTextField;
		private string stateField;
		private string cityField;
		private string weatherStationCityField;
		private short weatherIDField;
		private string descriptionField;
		private string temperatureField;
		private string relativeHumidityField;
		private string windField;
		private string pressureField;
		private string visibilityField;
		private string windChillField;
		private string remarksField;
		private GenericWeatherDescription currentDescription;

		public bool Success
		{
			get
			{
				return this.successField;
			}
			set { SetProperty(ref successField, value); }
		}

		public string ResponseText
		{
			get
			{
				return this.responseTextField;
			}
			set
			{
				SetProperty(ref responseTextField, value);
			}
		}

		public string State
		{
			get
			{
				return this.stateField;
			}
			set
			{
				SetProperty(ref stateField, value);
			}
		}

		public string City
		{
			get
			{
				return this.cityField;
			}
			set
			{
				SetProperty(ref cityField, value);
			}
		}

		public string WeatherStationCity
		{
			get
			{
				return this.weatherStationCityField;
			}
			set
			{
				SetProperty(ref weatherStationCityField, value);
			}
		}

		public short WeatherID
		{
			get
			{
				return this.weatherIDField;
			}
			set
			{
				SetProperty(ref weatherIDField, value);
			}
		}

		public string Description
		{
			get
			{
				return this.descriptionField;
			}
			set
			{
				SetProperty(ref descriptionField, value);
			}
		}

		public string Temperature
		{
			get
			{
				return this.temperatureField;
			}
			set
			{
				SetProperty(ref temperatureField, value);
			}
		}

		public string RelativeHumidity
		{
			get
			{
				return this.relativeHumidityField;
			}
			set
			{
				SetProperty(ref relativeHumidityField, value);
			}
		}

		public string Wind
		{
			get
			{
				return this.windField;
			}
			set
			{
				SetProperty(ref windField, value);
			}
		}

		public string Pressure
		{
			get
			{
				return this.pressureField;
			}
			set
			{
				SetProperty(ref pressureField, value);
			}
		}

		public string Visibility
		{
			get
			{
				return this.visibilityField;
			}
			set
			{
				SetProperty(ref visibilityField, value);
			}
		}

		public string WindChill
		{
			get
			{
				return this.windChillField;
			}
			set
			{
				SetProperty(ref windChillField, value);
			}
		}

		public string Remarks
		{
			get
			{
				return this.remarksField;
			}
			set
			{
				SetProperty(ref remarksField, value);
			}
		}

		public GenericWeatherDescription CurrentDescription
		{
			get { return currentDescription; }
			set
			{
				SetProperty(ref currentDescription, value);
			}
		}
	}
}
